1. Field of the Invention
The present invention relates to an information transmission system between a master numerical control (hereinafter "NC") unit and a slave servo mechanism having a plurality of servo amplifiers.
2. Description of the Background
FIG. 11 is a block diagram illustrating a conventional information transmission system connecting an NC master unit to a servo unit, particularly one with plural servo-controlled mechanisms. In the Figure, an NC unit 1 is provided with a main CPU 2 connected with a serial interface 4 via a local data bus 3. A serial information transmission path 6 is provided between the NC unit 1 and a servo unit 8 comprising plural servo amplifiers 8-1 to 8-N, each of which has a conventional servo controller function; in this case all are motors. Each of the servo amplifiers 8-1 to 8-N contains a corresponding servo CPU 12-1 to 12-N to execute the controller function for an individual axis of a controlled object, in response to commands from the NC unit. In this regard, each servo CPU is connected to the main CPU 2 via the serial transmission line 6 and a respective serial interface 9-1 to 9-N. Each servo controller function is executed by the exchange of commands and data between the servo CPU 12-1 to 12-N and a corresponding motor driver 13-1 to 13-N, which operates a drive motor 14-1 to 14-N, via local data bus 11-1 to 11-N.
The operation of the conventional information transmission system to the servo mechanism will now be described with reference to FIGS. 7A-7C, which illustrate various data and their locations in a conventional information transmission. Preliminarily, it should be noted that the volume of information transmitted between the NC unit 1 and the servo unit 8 is high for several reasons. First, the objects to be controlled by the servo unit 8 must perform very complex operational functions. Hence, the number of control axes and, accordingly the number of servo mechanisms, is large and the information transmission volumes are, accordingly, high. Secondly, the control of the servo unit 8 is primarily a digital control because of the progress of microcomputers, etc. Since digital control can respond comparatively easily to a variety of high-level controls, a variety of monitoring functions, self-diagnostic functions, the automatic tuning of servo parameters (control constants), adaptive control, etc. are now incorporated into the servo units.
FIGS. 7A-7C provide an example of the conventional servo unit having five control axes to satisfy the above requirements. This example employs half-duplex transmission using the conventional HDLC (high-level data link control) or SDLC (synchronous data link control) standards, which are designed to allow the data of each axis to be assigned to an address specified for each axis by a protocol. FIG. 7A illustrates an 8 ms period divided into one millisecond units that are a reference for the signals transmitted between the NC and servo locations and between the servo locations and the NC.
Referring to FIG. 7A, the numeral 31 indicates a block of data for controlling all servo axes, i.e. data of the first to fifth axes in the described conventional embodiment, which comprises information transmitted from the NC unit 1 to the servo amplifiers 8-1 to 8-N (hereinafter referred to as the "sending end" of the transmitted data). Blocks 32a to 32e indicate individual axis data, i.e. data of the first to fifth control axes, respectively, which are the information transmitted from the servo amplifiers 8-1 to 8-N to the NC unit (hereinafter referred to as the "receiving end" of the transmitted data).
In the illustrated embodiment, the information volume for each axis on the sending end is 128 bytes, so that block 31 comprises a total of 645 bytes (with 5 bytes of overhead) for 5 axes, as seen in FIG. 7B. Assuming that the servo amplifiers carry out a variety of control functions, e.g., position control onward, the sending end information includes position commands, sequence commands, current limits, parameters, etc. The information volume for each axis block 32a-32e on the receiving end also is 128 bytes and has 5 bytes of overhead, as seen in FIG. 7C. It also should be noted that a separation band of 0.5 ms exists between blocks. The receiving end information includes position feedback, speed feedback, current feedback, monitored data, zeroing data, operating status, etc. According to FIGS. 7A, therefore, the total information transmission volume of the sending end 31 is 645 bytes and that of each axis 32a-32e on the receiving end is 133 bytes.
If it is assumed that the baud rate of the information transmission path 6 is 2.5 M according to the current conventional technologies, the total information transmission volume of the sending end of 645 bytes requires 2.5 ms to be processed, as illustrated in FIG. 7C. The total information transmission volume of each receiving end axis of 133 bytes requires 510 .mu.s to be processed, as illustrated in FIG. 7C. Accordingly, the total sum of the processing times of the five receiving end axes is 2.55 ms. Further, the sum of the information transmission processing times of the sending and receiving ends is 5.05 ms. when an additional allowance of 0.5 ms is provided between blocks in the combination of the send and receive ends, a communication cycle of 8 ms in one line of the information transmission path 6 may be selected, as indicated by the scale in FIG. 7A.
For this reason, position command information to the servo amplifiers 8-1 to 8-N is only updated every 8 msec. Hence, when, for example, an immediate stopping function (hereinafter referred to as the "skip stop function") is given from the NC unit 1 to the servo amplifiers 8-1 to 8-N, a maximum delay of 8 ms occurs until a stop can be effected. This delay increases coasting, leading to variations in the actual stop position. Moreover, the total time between the sending of a command from the NC unit to the receipt by the NC unit of a response from the commanded servo amplifier is over 16 ms.
Specifically, as shown in the main CPU processing flowcharts of FIG. 8 and the servo CPU processing flowcharts of FIG. 9, as well as the timing chart of FIG. 10, a substantial amount of time is consumed in the performance of an axis operation under program control. Turning first to the main CPU flowcharts in FIG. 8, a background processing 10, in which the program is read (step 11), the coordinates calculated (step 12), the necessary keyboard inputs added (step 13) and the display processing conducted (step 14), is performed before transmission of information to the servo CPU. The period for the background processing varies, depending on the functions that must be performed.
If a key input occurs at step 13, during an 8 ms interrupt processing sequence 20, all of the parameters changed as a result of the key input at step 13 are transmitted to the servo amplifiers at step 21. (This is indicated by the connecting dotted lines in the Figure.) Thereafter, the data is received for display on a monitor at step 22.
If a calculation of coordinates for positioning is required at step 12, an interrupt processing sequence 30 begins at step 31. This sequence, consuming about 1 ms for each affected axis, comprises an interpolation processing for calculating the path of each axis at step 31, a check for outside inputs (e.g., a skip-step command) in step 32, a transmission of current position data to the corresponding servo amplifier at step 33, the receipt of position data from a corresponding servo amplifier at step 34, a renewal of the coordinates of the present machine position in step 35 and a stroke limit check in step 36.
At the servo CPU, as shown in FIG. 9, several interrupt processings take place. The first interrupt processing 40 occurs in a sequence that requires about 8 ms. In step 41, the command parameters from the main CPU are received. Then, the processing of the command parameters is conducted in step 42 and monitored data (i.e., speed, current position etc.) is transmitted to a display in step 43. The shading of blocks 41 and 43 identifies the existence of a link between these steps of the sequence in FIG. 9 and shaded steps of the sequence in FIG. 8, e.g., at the servo unit the command parameters are received and monitor data is transmitted. The second interrupt processing 50 is conducted within a duration of about 1 ms per axis and includes a receipt of command (e.g., location) data at step 51. Thereafter, positioning control is effected at step 52 and the position data is sent back to the main CPU in step 53. Again, the shaded areas identify steps involving communication between the master and servo units.
While not directly relevant to the deficiencies of the conventional systems that are solved by the invention, it is useful to note that a third interrupt processing sequence 60 is executed in response to the position control step 52 and conducts speed control processing at step 61. The speed control will effect yet another interrupt processing sequence 70 which, at step 71 requiring 0.25 ms duration, will control the current applied to the motor at each axis.
A comprehensive illustration of the timing sequence of the conventional transmission operation for the system and functions of FIGS. 7A-C, 8, 9 and 11 is presented in FIG. 10, where a sequence of 1 ms periods is allocated to processing and transmission operations during two consecutive 8 ms periods, as seen in line A.
The processing relating to NC servo data in the main CPU, following the background processing 10, is identified in line B as a sequence of processings A and B. At processing A, position command information is formed in the NC unit and transmission processing for position commands and parameters etc. is performed according to the processing 30 of FIG. 8. As illustrated in lines A-C, this operation takes less than 1 ms and its result is provided as command data for transmission (step 33), as indicated by the single solid line arrow from processing A to the sending end block in line C. The subsequent processing B by the NC unit involves the receiving of present position information from the several servo units for monitoring and display purposes (step 34), as indicated by the several dotted line arrows from the receiving end data in line C to the processing B.
The sequence of the sending end and receiving end processings is illustrated for a plurality of communication cycles of 8 ms each, with two complete cycles being shown for purposes of further explanation.
In FIG. 10 lines D1-D5, data blocks for each of the five servo controlled axes is also illustrated in separate rows of servo processing blocks of less than 1 ms each. For each axis, the servo processing of steps 42 and 52 generate position control information that appear in a plurality of successive blocks C. In a block D, position control information as well as present position and monitor data for each axis is subjected to transmission processing at steps 43 and 53, in a specified sequence, as indicated by dotted lines arrows to line C. Finally, during a block E, position control information as well as position command information and parameters for each axis (from the transmission data of line C, as indicated by solid line arrows), is subject to receive processing of steps 41 and 51.
In sum, the generation and transmission of sending end command data to the several servo amplifiers for the first through fifth axis is indicated by the several solid line arrows from the command data block to the receiving processing blocks E of each servo axis. Similarly, the generation and transmission of receiving end data to the main CPU is indicated by the dotted line arrows from block D of each servo axis processing to the receiving end of the transmitted data. These processings are repeated each 8 ms period.
In the illustrated example, the total time Ta for the generation and transmission of command data as a sending block, beginning with the start of processing A to end of transmission processing D, is 4 ms. From the beginning of the receiving end at processing E, through position control processing at processings C, to the completion of the return of monitored data (e.g. current position data just prior to the command) from the servo amplifiers at D, to the receipt and processing of the transmitted data at B, 13 ms is required. Thus, the total communication time between command generation and receipt of information describing the response to the command is 17 ms. This length of time represents undesirable delays and system inefficiency.
The conventional circuit for serial data transmission circuit to servo mechanism poses the aforementioned problem in performance because of a trade-off relationship between the information transmission volume and the communication cycle.
It is, accordingly, an object of the present invention to overcome the disadvantages in the conventional art by providing an information transmission system for a servo mechanism which can accommodate a large volume of transmitted information without failure.
It is another object of the present invention to permit urgent information to be communicated more rapidly than information which may be delayed.
It is yet another object of the present invention to permit the concurrent transmission of information on different cycles.